/**
 *
    算法描述：
    解决所需数据结构+算法：
**/
#include<iostream>
#include<cstring>
using namespace std;

void str2arr(string s, int a[]) {
    int len = s.length();
    for (int i = 0; i < len; i++)
        a[i] = s[len - i - 1] - '0';
}

int main() {
    int a[2100], b[2100], c[4100];
    memset(a, 0, sizeof(a));
    memset(b, 0, sizeof(b));
    memset(c, 0, sizeof(c));
    string sa, sb;
    cin >> sa >> sb;

    // 特判
    if(sa == "0" || sb == "0")
        cout << 0;

    str2arr(sa, a);
    str2arr(sb, b);
    int len = sa.length() + sb.length();
    for (int i = 0; i < sa.length(); i++)
        for (int j = 0; j < sb.length(); j++) {
            c[i+j] += a[i] * b[j];
            c[i+j+1] += c[i+j] / 10;
            c[i+j] %= 10;
        }
    while (c[len] == 0) len--;
    for (int i = len; i >= 0; i--)
        cout << c[i];
    return 0;
}